import React from "react";
import { Button, Checkbox, Form, Input, message as antdMessage } from "antd";
import axios from "axios";
import { useNavigate } from "react-router-dom";


const onFinishFailed = (errorInfo: any) => {
  console.log("Failed:", errorInfo);
};

const App: React.FC = () => {
  const navigate = useNavigate();
  const onFinish = async (values: any) => {
    console.log(values.code, stytemCode)
    if(values.code !== stytemCode) {
      antdMessage.error('验证码不正确')
      return ;
    }


    const resp = await axios.post("/api/login", values);
    const { code, data } = resp.data;
    if (code === 200) {
      navigate('/');
      localStorage.setItem('nickname', data.nickname)
      localStorage.setItem('avator', data.avator)
    }
  };
  const stytemCode = Math.random().toString(36).slice(2, 6)
  
  return (
    <Form
      name="basic"
      labelCol={{ span: 8 }}
      wrapperCol={{ span: 16 }}
      style={{ maxWidth: 600 }}
      initialValues={{ remember: true }}
      onFinish={onFinish}
      onFinishFailed={onFinishFailed}
      autoComplete="off"
    >
      <Form.Item
        label="Username"
        name="username"
        rules={[{ required: true, message: "Please input your username!" }]}
      >
        <Input />
      </Form.Item>

      <Form.Item
        label="Password"
        name="password"
        rules={[{ required: true, message: "Please input your password!" }]}
      >
        <Input.Password />
      </Form.Item>

      <Form.Item
        name="code"
        wrapperCol={{ span: 16 }}
        label={"验证码: " + stytemCode}
      >
        <Input></Input>
      </Form.Item>

      <Form.Item wrapperCol={{ offset: 8, span: 16 }}>
        <Button type="primary" htmlType="submit">
          Submit
        </Button>
      </Form.Item>
    </Form>
  );
};

export default App;
